home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____HHHHEEEEMMMMMMMM((((3333FFFF)))) ____HHHHEEEEMMMMMMMM((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- zhemm, chemm - BLAS level three Hermitian Matrix Product
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzhhhheeeemmmmmmmm(((( ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ssssiiiiddddeeee,,,,uuuupppplllloooo
- iiiinnnntttteeeeggggeeeerrrr mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee cccchhhheeeemmmmmmmm(((( ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 ssssiiiiddddeeee,,,,uuuupppplllloooo
- iiiinnnntttteeeeggggeeeerrrr mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
-
- CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- vvvvooooiiiidddd zzzzhhhheeeemmmmmmmm(((( ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee ssssiiiiddddeeee;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- IIIInnnntttteeeeggggeeeerrrr mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkkaaaa]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****cccc))))[[[[llllddddaaaa****kkkkbbbb]]]];;;;
-
- vvvvooooiiiidddd cccchhhheeeemmmmmmmm(((( ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee ssssiiiiddddeeee;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- IIIInnnntttteeeeggggeeeerrrr mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkkaaaa]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****cccc))))[[[[llllddddaaaa****kkkkbbbb]]]];;;;
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- zzzzhhhheeeemmmmmmmm and cccchhhheeeemmmmmmmm perform one of the matrix-matrix operations
-
- C := alpha*A*B + beta*C, or
-
- C := alpha*B*A + beta*C,
-
- where alpha and beta are scalars, A is an hermitian matrix and B and C
- are m by n matrices.
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- ssssiiiiddddeeee specifies whether the hermitian matrix A appears on the left or
- right in the operation as follows:
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- side = 'L' or 'l' C := alpha*A*B + beta*C
- side = 'R' or 'r' C := alpha*B*A + beta*C
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____HHHHEEEEMMMMMMMM((((3333FFFF)))) ____HHHHEEEEMMMMMMMM((((3333FFFF))))
-
-
-
- CCCC
- side = LeftSide C := alpha*A*B + beta*C
- side = RightSide C := alpha*B*A + beta*C
-
- Unchanged on exit.
-
- uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the upper or lower triangular
- part of the hermitian matrix A is to be referenced as follows:
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- uplo = 'U' or 'u' Only the upper triangular part of the
- hermitian matrix is to be referenced.
- uplo = 'L' or 'l' Only the lower triangular part of the
- hermitian matrix is to be referenced.
-
- CCCC
- uplo = UpperTriangle Only the upper triangular part of
- the matrix is to be referenced.
- uplo = LowerTriangle Only the lower triangular part of
- the matrix is to be referenced.
-
- Unchanged on exit.
-
- mmmm On entry, mmmm specifies the number of rows of the matrix C. mmmm must
- be at least zero.
- Unchanged on exit.
-
- nnnn On entry, nnnn specifies the number of columns of the matrix C. nnnn
- must be at least zero.
- Unchanged on exit.
-
- aaaallllpppphhhhaaaa On entry, aaaallllpppphhhhaaaa specifies the scalar alpha.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____HHHHEEEEMMMMMMMM((((3333FFFF)))) ____HHHHEEEEMMMMMMMM((((3333FFFF))))
-
-
-
- Unchanged on exit.
-
- aaaa An array containing the matrix A.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension (lda, ka).
-
- CCCC
- A pointer to an array of size lda*ka.
- See note below about array storage convention for C.
-
- kkkkaaaa is mmmm when side = 'L' or 'l' or LeftSide and is nnnn when side =
- 'R' or 'r' or RightSide.
-
- Before entry with uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr LLLLoooowwwweeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the
- elements of the array aaaa corresponding to the m by m matrix A must
- contain the hermitian matrix, such that when uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr
- UUUUppppppppeeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the elements of the array aaaa corresponding to the
- leading m by m upper triangular part of the matrix A must contain
- the upper triangular part of the hermitian matrix and the
- elements corresponding to the strictly lower triangular part of A
- are not referenced. When uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr LLLLoooowwwweeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the
- elements of the array aaaa corresponding to the leading m by m lower
- triangular part of the matrix A must contain the lower triangular
- part of the hermitian matrix and the elements corresponding to
- the strictly upper triangular part of A are not referenced.
-
- Before entry with ssssiiiiddddeeee ==== ''''RRRR'''' oooorrrr ''''rrrr'''' oooorrrr RRRRiiiigggghhhhttttSSSSiiiiddddeeee , the elements
- of the array aaaa corresponding to the n by n matrix A must contain
- the hermitian matrix, such that when uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr
- UUUUppppppppeeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the elements of the array aaaa corresponding to the
- leading n by n upper triangular part of the matrix A must contain
- the upper triangular part of the hermitian matrix and the
- elements corresponding to the strictly lower triangular part of A
- are not referenced. When uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr LLLLoooowwwweeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the
- elements of the array aaaa corresponding to the leading n by n lower
- triangular part of the matrix A must contain the lower triangular
- part of the hermitian matrix and the elements corresponding to
- the strictly upper triangular part of A are not referenced.
-
- Note that the imaginary parts corresponding to the diagonal
- elements need not be set, they are assumed to be zero.
-
- Unchanged on exit.
-
- llllddddaaaa On entry, llllddddaaaa specifies the first dimension of A as declared in
- the calling (sub) program. When side = 'L' or 'l' or LeftSide,
- then lda must be at least max( 1, m ). When side = 'R' or 'r' or
- RightSide, then lda must be at least max( 1, n ).
- Unchanged on exit.
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____HHHHEEEEMMMMMMMM((((3333FFFF)))) ____HHHHEEEEMMMMMMMM((((3333FFFF))))
-
-
-
- BBBB An array containing the matrix B.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- An array of dimension ( ldb, n ).
-
- CCCC
- A pointer to an array of size ldb*n.
- See note below about array storage convention for C.
-
- Before entry, the elements of bbbb that correspond to the leading m
- by n part of the matrix B should contain the elements
- corresponding to the m by n matrix B.
-
- Unchanged on exit.
-
- llllddddbbbb On entry, llllddddbbbb specifies the first dimension of B as declared in
- the calling (sub)program. ldb
- must be at least max( 1, m ).
- Unchanged on exit.
-
- bbbbeeeettttaaaa On entry, bbbbeeeettttaaaa specifies the scalar beta. When bbbbeeeettttaaaa is supplied
- as zero then cccc need not be set on input.
- Unchanged on exit.
-
- cccc An array containing the matrix C.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- An array of dimension ( ldc, n ).
-
- CCCC
- A pointer to an array of size ldc*n.
- See note below about array storage convention for C.
-
- Before entry, the leading m by n part of the array cccc must contain
- the matrix C, except when beta is zero, in which case cccc need not
- be set on entry.
-
- On exit, the array cccc is overwritten by the m by n updated matrix.
-
- llllddddcccc On entry, llllddddcccc specifies the first dimension of cccc as declared in
- the calling (sub) program. llllddddcccc must be at least max( 1, m ).
- Unchanged on exit.
-
-
- CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
- The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
- in an analogous fashion as a Fortran array (column major). Therefore,
- the element A(i+1,j) of matrix A is stored immediately after the
- element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
- The element A(i,j) of the matrix can be accessed directly by reference
- to a[ (j-1)*lda + (i-1) ].
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- ____HHHHEEEEMMMMMMMM((((3333FFFF)))) ____HHHHEEEEMMMMMMMM((((3333FFFF))))
-
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
-
-
- TTTTUUUUNNNNIIIINNNNGGGG
- Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-